#include <cstdio>
#include<iostream>
using namespace std;

typedef unsigned long long ull;
const int N=100010;
int n=0,m=0;
char str[N];
ull p[N],h[N];
ull strhash(int l,int r)
{
    return h[r]-h[l-1]*p[r-l+1];
}
int main()
{
    cin>>n>>m;
    cin>>(str+1);
    p[0]=1;
    for(int i=1;i<=m;i++)
    {
        p[i]=p[i-1]*131;
        h[i]=h[i-1]*131+str[i];
    }
    while(m--)
    {
        int l1,l2,r1,r2;
        cin>>l1>>r1>>l2>>r2;
        if(strhash(l1,r1)==strhash(l2,r2))
        {
            puts("Yes");
        }
        else puts("No");
    }
    return 0;
}